Java中ArrayDeque,栈与队列

package ch8;
import java.util.*;

/**
 * Created by Jiqing on 2016/11/27.
 */
public class ArrayDequeStack {
    public static void main(String[] args) {
        ArrayDeque stack = new ArrayDeque();
        // 依次将三个元素push入“栈”,先进后出
        stack.push("疯狂Java讲义");
        stack.push("轻量级Java EE企业应用实战");
        stack.push("疯狂Android讲义");
        System.out.println(stack); // [疯狂Android讲义, 轻量级Java EE企业应用实战, 疯狂Java讲义]
        System.out.println(stack.peek()); // 疯狂Android讲义
        System.out.println(stack); // [疯狂Android讲义, 轻量级Java EE企业应用实战, 疯狂Java讲义]
        System.out.println(stack.pop()); // 疯狂Android讲义
        System.out.println(stack);//[轻量级Java EE企业应用实战, 疯狂Java讲义]

        // 当做队列来使用,先进先出
        ArrayDeque queue = new ArrayDeque();
        queue.offer("疯狂Java讲义");
        queue.offer("轻量级JavaEE企业应用实践");
        queue.offer("疯狂Android讲义");
        System.out.println(queue); //[疯狂Java讲义, 轻量级JavaEE企业应用实践, 疯狂Android讲义]
        // 访问队列头部元素,但不将其poll出队列
        System.out.println(queue.peek());
        System.out.println(queue);
        // poll出第一个元素
        System.out.println(queue.poll());
        System.out.println(queue);// [轻量级JavaEE企业应用实践, 疯狂Android讲义]
    }
}

输入结果:

[疯狂Android讲义, 轻量级Java EE企业应用实战, 疯狂Java讲义]
疯狂Android讲义
[疯狂Android讲义, 轻量级Java EE企业应用实战, 疯狂Java讲义]
疯狂Android讲义
[轻量级Java EE企业应用实战, 疯狂Java讲义]
[疯狂Java讲义, 轻量级JavaEE企业应用实践, 疯狂Android讲义]
疯狂Java讲义
[疯狂Java讲义, 轻量级JavaEE企业应用实践, 疯狂Android讲义]
疯狂Java讲义
[轻量级JavaEE企业应用实践, 疯狂Android讲义]

posted @ 2016-11-27 21:41  TBHacker  阅读(2553)  评论(0编辑  收藏  举报